Geofence transport sealing

ABSTRACT

Features are disclosed for sealing system which is dynamically activated based on a vehicle&#39;s location within a geofence via a custom access application. The seal generates current location information. The current location information is compared to location permissions indicating time or place where the seal may be disabled. If the current location corresponds to an authorized unsealing location, the seal may disengage to allow access to the vehicle.

BACKGROUND

Many companies use vehicles to move items within and between facilities.A transport vehicle may include a cargo area or carry a cargo containerto hold the items. It is common to leave the storage container for theitems unsecured. If sealed, each stop would require unsealing uponarrival and resealing upon departure. Leaving the storage containerunsecured may increase the efficiency of the transport process, but italso increase the likelihood of unauthorized access or theft. One optionis to use traditional padlocks with the key or combination given to theoperator. This secures the cargo from theft by parties other than theoperator. But the padlocks introduce additional logistical frictionbecause the key or combinations must be shared and physically presented.If a key is lost or combination forgotten, the padlock may need to becut to access the storage container. This can be expensive and timeconsuming. Furthermore, unlike a seal, a lock simply secures a cargocontainer, and may not provide evidence of tampering with, orunauthorized access to, the cargo container.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of various inventive features will now be described withreference to the following drawings. Throughout the drawings, referencenumbers may be re-used to indicate correspondence between referencedelements. The drawings are provided to illustrate example embodimentsdescribed herein and are not intended to limit the scope of thedisclosure.

FIG. 1 is a block diagram showing an example environment including anelectronic seal system.

FIG. 2 illustrates an example embodiment of a seal with a detachablesealing shackle.

FIG. 3 illustrates an example embodiment of a seal with a mountedsealing shackle.

FIG. 4A illustrates an overhead view of a sealing mechanism which may beincluded in a sealing box.

FIG. 4B illustrates a perspective view of a portion of the sealingmechanism shown in FIG. 4A.

FIG. 5A illustrates an overhead view of the sealing mechanism of FIG. 4Ain an engaged position.

FIG. 5B illustrates a perspective view of the sealing mechanism of FIG.5A in the engaged position.

FIG. 6 is a functional block diagram of components included in anexample sealing box.

FIG. 7 is a flow diagram depicting an example method of securing anelectronic seal via a delivery device.

FIG. 8 is a flow diagram depicting an example method of securing anelectronic seal via a seal.

FIG. 9 illustrates an example embodiment of a seal with an affixedsealing shackle.

FIG. 10A illustrates an example connection interface.

FIG. 10B illustrates an example unsealed interface.

FIG. 10C illustrates an example sealed interface.

FIG. 10D illustrates an example unseal interface.

FIG. 11 is a block diagram of an illustrative computing device that mayimplement one or more of the electronic seal features described.

DETAILED DESCRIPTION

A solution for securing a cargo carrier (e.g., the cargo area of avehicle or a cargo container transported by a vehicle) is an electronicseal system. The electronic seal system includes a seal and a deliverydevice. The seal includes a sealing box and a sealing shackle thatdetachably couples with the sealing box. The electronic seal systemcompares current location information of the seal or delivery devicewith a stored list of destinations. If the current location correspondsto an approved destination (e.g., a warehouse), the seal may bereleased. By conditioning seal functionality (e.g., an unseal option) tolocation, when and where the seal may be opened can be monitored andcontrolled.

The seal may be implemented as a battery-operated device. Locationdetection may be performed by the delivery device or within the seal torecord the time and location coordinates where the seal was sealed andunsealed. The location detection may include detecting time and locationfrom a Global Positioning System (GPS). The seal may transmit the log tothe delivery device or other communication device via a wirelessprotocol such as the BLUETOOTH® protocol. The seal may include a statusindicator such as a light emitting diode (LED) to indicate one or moreoperational states (e.g., battery status, connection status with adelivery device, error). The seal may include an auxiliary power inputfor emergency release function. Once the sealing shackle is inserted inthe seal box, sealing, status monitoring, and logging operations maystart.

The sealing shackle can be fully removable from the vehicle orsemi-permanently attached to the vehicle. The removable sealing shackleopens the possibility of spoofing the system by engaging the seal whilenot actually sealing the cargo carrier. For example, the operator couldkeep the sealed device on the passenger seat inside the truck. Thesemi-permanently attached cable reduces this possibility. To furtherenhance the reliability of the seal, the sealing shackle may include oneor more passive memory devices at the terminating ends of the sealingshackle. These modules may communicate with a microcontroller in theseal when properly inserted. The electronic seal system can detect theactual sealed or unsealed state based on a position of a motor includedin the sealing box. The system can identify authentic sealing shacklesby comparing information stored in a memory device with an expected,authentic value. This allows a pairing operation between the sealing boxand the sealing shackle and prevents sealing an authentic seal in theabsence of the sealing shackle.

The delivery device may be a mobile phone or other device using a lowenergy wireless communication protocol to for communications between thedelivery device and the electronic seal box. The seal could only beunsealed when the device or the seal are within a particular geofence. Ageofence refers to a spatial area defined by a boundary. The geofencemay be specified as a point radius circle or a polygon of coordinatepairs, where a coordinate pair represents a vertex of the polygon.

The electronic seal system is configured to recognize when the seal iswithin the geofence and then allow the operator to transmit a code tounseal or seal via the wireless communication protocol. Cellular and GPScoverage may be used by the delivery device to support the routing andlocation detection functions while in transport. In someimplementations, the location detection may be performed by the seal. Insuch implementations, the seal may determine if it is inside the definedgeofence to allow unsealing of the seal.

FIG. 1 is a block diagram showing an example environment including anelectronic seal system. The environment 100 may include a deliverydevice 122 for a delivery agent 120. The delivery agent 120 may be theoperator of a vehicle 130 used to transport items from one location toanother location.

The delivery device 122 may receive route information from a routingaccess server 150. The route information may include a sequence oflocations the delivery agent 120 is to visit. The route information mayalso include location information for sealing or unsealing a seal 180.The route information may be stored in a routing data store 124 incommunication with the routing access server 150.

As used herein a “data store” may be embodied in hard disk drives, solidstate memories and/or any other type of non-transitory computer-readablestorage medium accessible to or by a device such as an access device,server, or other computing device described. A data store may also oralternatively be distributed or partitioned across multiple local and/orremote storage devices as is known in the art without departing from thescope of the present disclosure. In yet other embodiments, a data storemay include or be embodied in a data storage web service.

The seal 180 may be applied to prevent a first door 134 a and a seconddoor 134 b of the vehicle 130 from opening. The seal 180 may passthrough hardware 136 affixed to the first door 134 a and the second door134 b. In this position, the seal 180 prevents the first door 134 a andthe second door 134 b from opening. Embodiments of the seal 180 areshown and discussed further with reference to FIGS. 2, 3, and 9. Asnoted, the features described relate to securing doors or other accessportals of a vehicle. The vehicle 130 may be implemented as a car,truck, van, boat, aircraft, or other mobile apparatus that can be usedto transport physical items.

The delivery device 122 of the delivery agent 120 may be an electroniccommunication device configured to transmit machine readable messagesvia multiple wireless communication protocols. Non-limiting examples ofthe delivery device 122 include a personal computing device, laptopcomputing device, hand held computing device, mobile device (e.g.,mobile phones or tablet computing devices), wearable device configuredwith network access and program execution capabilities (e.g., “smarteyewear” or “smart watches”), wireless device, electronic reader, orsome other portable electronic device or appliance. The messages may beformatted according to a standardized protocol such as transmissioncontrol protocol/Internet protocol (TCP/IP), hypertext transfer protocol(HTTP), file transfer protocol (FTP), or the like. The transmission maybe sent via wireless or hybrid wired-wireless networks.

The delivery agent 120 may interact with one or more user interfacespresented via the delivery device 122 to identify the route and interactwith the seal 180. The user interfaces may include control elements toreceive input or adjust a function of the delivery device 122. Exampleuser interfaces are discussed with reference to FIGS. 10A-10D below.

The delivery device 122 and, in some implementations the seal 180, mayreceive location information identifying a current location of thedelivery device 122 or the seal 180. The location information may bereceived from a satellite based global positioning system 160. Awireless location transceiver may be included in a device to facilitatereceipt and decoding of signals from the global positioning system 160.In some implementations, the device may calculate its location based onsignals received from multiple satellites included in the globalpositioning system 160.

FIG. 2 illustrates an example embodiment of a seal with a detachablesealing shackle. The seal 200 includes a sealing shackle 210 and asealing box 250. The sealing shackle 210 includes a link line 212. Thelink line 212 may be formed of a semi-flexible material such a steelwire or aircraft cable wire. In some implementations, the link line 212may include a chain, a tube of strong composite plastic, carbonnanotubes, an inflexible U-shape bar, or the like. The link line 212 maybe coated with a weatherproofing sheath such a vinyl sheath. The linkline 212 may be two feet in length. Affixed to opposing ends of the linkline 212 are memory devices 230 and 232. The memory devices 230 and 232may be externally powered (e.g., by the sealing box 250).

The memory device 232 includes a body 214 and a positioning flange 216.The dimensions of the body 214 and the positioning flange 216 correspondto a coupling channel 254 in the sealing box 250. This ensures thememory device 232, when inserted into the sealing box 250, forms aconductive coupling with the sealing box 250 via a terminal 220. Throughthe terminal 220, the sealing box 250 may retrieve information stored inthe memory device 232 to confirm the authenticity of the sealing shackle210. The terminal 220 may also provide a path for power to be providedfrom the sealing box 250. The memory device 232 may include memory tostore information associated with the sealing shackle 210 or the memorydevice 232. The memory may be referred to as cable memory.

The memory device 232 also includes a sealing notch 218. The sealingnotch 218 provides a physical space for engagement with a seal shaftincluded in the sealing box 250. The seal shaft may extend into thesealing notch 218 to secure the sealing shackle 210. In this position,the sealing shackle 210 cannot be removed from the coupling channel 254.The seal shaft may retract in response to an unseal message, allowingthe sealing shackle 210 to be removed from the coupling channel 254.Further details of the sealing mechanism are included with reference toFIGS. 4A, 4B, 5A, and 5C below.

The sealing box 250 includes a housing 252. The housing 252 may beformed of durable weatherproof materials to keep the electronics dry andprotected from jostling or other movements while in transit. The sealingbox 250 may include one or more indicators (e.g., indicator 256 andindicator 258) for presenting operational information about the seal200.

The housing 252 may include an identifier 260. The identifier 260 mayprovide a unique, perceivable indicia that can be used to find thesealing box 250. For example, a physical location may include severalcargo carriers, each having respective sealing boxes. The identifier 260can allow an operator to find the sealing box assigned for a routeassociated with the cargo carrier to be sealed. In some implementations,the identifier 260 may be a scannable identifier such as a barcode,quick response code, magnetic strip, near field communication code,radio frequency identifier code, or other device detectable identifier.An operator can scan the identifier 260 to obtain information to connectwith the sealing box 250 on which the identifier 260 is placed.

In FIG. 2, the sealing shackle 210 includes two memory devices. In someimplementations, it may be desirable to include one memory device ratherthan two in the sealing shackle.

FIG. 3 illustrates an example embodiment of a seal with a mountedsealing shackle. In the seal 200 of FIG. 2, each end of the sealingshackle 210 included a memory device. In the seal 300 shown in FIG. 3,only one end of a sealing shackle 310 includes a memory device 330. Theother end of the sealing shackle 310 is mounted to a sealing box 350.The mounted end of the sealing shackle 310 may extend through an opening354 in a housing 352 of the sealing box 350. The mounted end may bephysically affixed to a structure within the housing 352.

FIG. 4A illustrates an overhead view of a sealing mechanism which may beincluded in a sealing box. The sealing mechanism 400 includes arotatable seal driver 410 and opposing seal shafts (e.g., seal shaft 402and seal shaft 404). The seal shaft 402 is positioned to engage with amemory device 490 when inserted into a coupling channel. The seal shaft404 is positioned to engage with a memory device 492 when inserted intoanother coupling channel. For illustrative purposes, a directionalorientation symbol 412 is included to indicate the position of therotatable seal driver 410.

The sealing mechanism 400 may include retraction elements to disengagethe seal shafts when the seal driver 410 returns to the position shownin FIG. 4A. The retraction elements for the seal shaft 404 include afirst return carrier 430. The first return carrier 430 is attached tothe seal shaft 404 and can move laterally when the seal shaft 404 moves.The first return carrier 430 includes a carrier post 432. The carrierpost 432 forms a channel that can receive one end of a spring element434. The spring element 434 may be formed of metal or other elasticmaterial. Examples of the spring element 434 include a coiled extensionspring or a deformable u-shaped spring. For example, the spring element434 may be an extension spring whereby the spring element 434 is at restin the closed position shown in FIG. 4A. When the first return carrier430 extends, the spring element 434 is extended (see FIG. 5A). Theextension can cause the spring element 434 to store energy. This energyis what may cause the seal shaft 404 to return to the position shown inFIG. 4A after disengaging from the memory device 492. The sealingmechanism 404 may include a second return carrier 440 similar to thefirst return carrier 430 for the seal shaft 402. As shown in FIG. 4A,each seal shaft may include opposing return carriers, one attached torespective edges of the seal shaft. For example, return carrier 470 maybe affixed to the seal shaft 402 and oppose the second return carrier440.

A return stabilizer 450 may be included. The return stabilizer 450 maynot move when the seal shafts move. This provides fixed positions forthe spring elements. For example, as shown in FIG. 4A, the returnstabilizer includes a first stabilizer post 452 a and a secondstabilizer post 452 b. A second end of the spring element 434 isreceived in a channel formed by the second stabilizer post 452 b and apost 436. The first return carrier 430 may include a channel throughwhich the second stabilizer post 452 b and the post 436 pass to couplewith an interior surface of the housing of the sealing box. The firststabilizer post 452 a, the second stabilizer post 452 b, and the post436 maintain a static position as the seal shafts move.

A gap 460 a may be formed between return carriers 430 and 440 affixed tothe seal shafts 402 and 404, respectively. In some implementations, thereturn carriers 430 and 440 may join to close the gap 460 a. A similargap 460 b may be present between opposing return carriers 460 and 480.The return carriers 470 and 480 may be coupled with sides of the sealshafts 402 and 404, respectively.

FIG. 4B illustrates a perspective view of a portion of the sealingmechanism shown in FIG. 4A. The seal shaft 402 is shown disengaged fromthe memory device 490. An engagement surface 420 may include a curve orother shape to engage with a post 498 within the sealing notch of thememory device 490.

FIG. 5A illustrates an overhead view of the sealing mechanism of FIG. 4Ain an engaged position. A motor included in the sealing box may apply aforce to the rotatable seal driver 410. As the rotatable seal driver 410spins, the seal shaft 402 and the seal shaft 404 move away from therotatable seal driver 410 to engage the respective memory devices. Asshown in FIG. 5A, the rotatable seal driver 410 was rotated 90 degreesin a clockwise direction. The directional orientation symbol 412reflects this position change.

As a result of the seal shaft 404 moving toward the memory device 492,the gap 460 a and the gap 460 b in FIG. 5A is larger than shown in FIG.4A. The spring elements have also expanded due to the lateral movementof the seal shafts. This expansion causes tension to be exerted by thespring elements. When the seal driver 410 rotates to a position, such asthat shown in FIG. 4A, the tension will cause the seal shafts to moveaway from the memory devices toward the seal driver 410. Thus, the sealcarriers will retract the seal shafts allowing the sealing box to bedecoupled from the sealing shackle.

FIG. 5B illustrates a perspective view of the sealing mechanism of FIG.5A in the engaged position. As a result of the motion toward the memorydevice 490, the seal shaft 402 has entered the sealing notch to engagewith the post 498 (not visible). In this position, the memory device 490cannot be vertically moved due to the physical impedance of the sealshaft 402.

FIG. 6 is a functional block diagram of components included in anexample sealing box. The sealing box 250 may include memory readers toretrieve information from the sealing shackle 210. As shown in FIG. 6,the sealing shackle 210 includes two memory devices. Accordingly, thesealing box 250 includes a first memory reader 602 and a second memoryreader 604. The memory readers are located within the coupling channelsof the sealing box 250 to form a conductive link with the memory devicesof the sealing shackle 210 when received by the coupling channels.

A microcontroller 608 may coordinate the functioning of the sealing box250. For example, the microcontroller 608 may activate the first memoryreader 602 to retrieve an authentication value stored in a memorydevice. In some implementations, the memory readers may be activatedupon connection with a memory device. In such an implementation, thereading of the authentication value may be performed without activationfrom the microcontroller 608. As shown in FIG. 6, the first memoryreader 602 and the second memory reader 204 are coupled with themicrocontroller 608 via independent connections. In someimplementations, a common path may be shared by the first memory reader602 and the second memory reader 604. In such implementations, themicrocontroller 608 may address messages transmitted to a specificreader. The memory readers may respond to messages including theiraddress.

Once the microcontroller 608 receives the authentication value, themicrocontroller 608 may compare the authentication value with a shackleverification value stored in a data store included in the sealing box250. If the authentication value corresponds to the stored shackleverification value, the microcontroller 608 may deem the sealing shackle210 authentic and suitable to protect the vehicle. If the authenticationvalue does not correspond to the stored shackle verification value, themicrocontroller 608 may activate one or more status indicators 630. Forexample, a light may be activated to indicate the authentication error.In some implementations, the sealing box 250 may include an audio outputdevice to play warning sounds or messages. The status indicator(s) 630may be activated to identify the sealing box 250. For example, when adelivery device is attempting to connect with the sealing box 250, anidentification request may be transmitted from the delivery device tothe sealing box 250. The identification request may cause the statusindicator(s) 630 to activate in a perceivable pattern that signalsreceipt of the identification request. For example, using the embodimentshown in FIG. 2, the first indicator 256 and the second indicator 258may alternately activate for a period of time.

The sealing box 250 may include a low energy wireless transceiver 610.One example low energy wireless transceiver is a BLUETOOTH Low Energy(BLE) transceiver such as that described in the Bluetooth 4.0specification. The low energy wireless transceiver 610 may communicatewith the delivery device 122 such as to report or adjust the seal state,transfer event logs, or exchange route information indicating locationswhere the seal should be engaged and where the seal can be released.

Upon connecting with the delivery device 122, the sealing box 250 andthe delivery device 122 may be referred to as paired. Once connected,the microcontroller 608 may transmit a message to the delivery device122 via the low energy wireless transceiver 610. The message mayindicate the status of the seal and/or whether the seal is ready forengagement.

The low energy wireless transceiver 610 may receive a seal requestmessage from the delivery device 122. The seal request message may causethe microcontroller 608 to activate a motor controller 620 to engage theseal. The motor controller 620 may regulate a motor 625 which may applya force to a rotatable seal driver, such that as shown in FIG. 4A.Regulating the motor 625 may include controlling the power transmittedto the motor 625. As the motor controller 620 completes engaging theseal, the microcontroller 608 may adjust one or more of the statusindicators 630 to reflect the engaged state. The microcontroller 608 maycreate an event in its log indicating when and, if the sealing box 250includes a wireless location transceiver 680, where the event occurred.

If included in the sealing box 250, the wireless location transceiver680 may collect location information for the sealing box 250. Thecollection may be based on time to preserve power and processingresources of the sealing box 250. When new location information isavailable, the microcontroller 608 may compare the location indicated bythe location information to a destination location. If the locationcorresponds to the destination location, the microcontroller 608 mayadjust a status indicator 630 to signal that the seal may be unsealed.In some implementations, the microcontroller 608 may automaticallyrequest the motor controller 620 activate the motor 625 to disengage theseal.

The sealing box 250 may include a power management unit 690. The powermanagement unit 690 controls the source of power for the sealing box250. A battery 692 may be included as a primary source of power. Thebattery 692 may be a rechargeable battery such as a lithium basedbattery. When not in use, the sealing box 250 may be recharged via adocking station (not shown).

An auxiliary power input/output (I/O) interface 694 may be included toreceive power from an external source such a power cable or otherdevice. The power management unit 690 may also detect a level of poweravailable such as a level of the battery 692 or actual power provided bythe battery 692. This allows the power management unit 690 to monitorthe performance of the battery 692 and provide an alert to themicrocontroller 608 when the level falls below a threshold or the outputof the battery 692 deteriorates. This can provide early detection andalerting of a potential power failure before the power actually failsfurther reducing security risks.

The auxiliary power I/O interface 694 may be coupled directly with themicrocontroller 608 via an interrupt channel. The interrupt channel maybe desirable to allow the microcontroller 608 to determine when power isprovided via the auxiliary power I/O interface 694. This allows themicrocontroller 608 to adjust operational state to an auxiliary mode.This may include enabling or disabling certain elements of the sealingbox 250 such as a transceiver, motor, or emergency release.

In the event of a power failure or other malfunction, the sealing box250 may include an emergency release input/output interface 696. Theemergency release I/O interface 696 can be mechanical orelectromechanical. A mechanical emergency release may provide a key orcode that can be entered to release the seal irrespective of itslocation. An electromechanical release may couple with a device toreceive an emergency release code to release the seal irrespective ofits current location. Upon emergency release, the microcontroller 608may log the event in its event log.

As discussed, in one embodiment, the geospatial detection may beperformed by the delivery device 122. In another embodiment, thegeospatial detection may be performed by the sealing box 250.

FIG. 7 is a flow diagram depicting an example method of securing anelectronic seal via a delivery device. The method 700 may be implementedin whole or in part by the devices described such as the delivery device122. The method 700 illustrates how the delivery device 122 may detectlocation and coordinate adjustment of the seal accordingly.

The method 700 begins at block 702. At block 704, the delivery devicemay receive route information. The route information may be associatedwith a user of the delivery device such a delivery agent. The routeinformation may be associated with a vehicle or cargo carrier scheduledto traverse the route. The route information includes locations totraverse and geofence information identifying locations where the sealmay be unsecured to permit access to the cargo.

At block 706, the delivery device may determine whether a seal for thecargo carrier is identified. Identifying a seal may include activating alow energy wireless transceiver to scan for nearby devices. The seal mayadvertise its presence by broadcasting an identifier for the seal. Insome implementations, the route information may include an identifierfor the seal to be used for the route. In some implementations, thedelivery device may present a list of identifiers for detected seals. Aselection may be received via the delivery device for a specific seal toconnect with.

If the seal is not identified, at block 735, the delivery device maypresent a user interface to receive manual selection or entry of a sealidentifier. The method 700 may then return to block 706 as described.

If at block 706, the seal is identified, at block 708, the deliverydevice may connect with the seal. Connecting with the seal may includepairing with the seal. Pairing may include exchanging key information tosecure communications between the seal and the delivery device. Theconnection may be via a low energy wireless protocol (e.g., personalarea network). This conserves resources of the device and seal. Thisalso ensures the range of devices able to communicate with the seal islimited to a few meters. In some implementations, the connection mayinclude establishing a point to point connection between the deliverydevice and the seal. The connection may be a peer to peer connectionbetween the delivery device and the seal. In some implementations, theconnection may include a master slave connection whereby the deliverydevice serves as the master and the seal is the slave.

At block 712, the delivery device may determine if a connection isestablished with the seal. The determination may be based on messagesthe delivery device receives from the seal. For example, after invitingthe seal to connect, the seal may transmit one or more messages to agreeto the pairing and acknowledge completion of the connection process. Ifan acknowledgment is not received, the determination at block 712 may benegative. The method 700 may proceed to block 740 to determine whether aconnection attempt threshold has been exceeded. For example, it may bedesirable to cease trying to connection with a seal after threefailures. If the determination at block 740 is affirmative, the method700 may processed to block 735 to select a different seal as described.If the determination at block 740 is negative, the method 700 may returnto block 708 to re-attempt connecting with the seal.

Returning to block 712, if the connection with the seal is established,at block 714, the delivery device may transmit a seal engage message tothe seal. The seal engage message may be transmitted upon activation ofa button or other user interface control presented via the deliverydevice. The user interface element may be hidden until the sealindicates a ready state (e.g., after confirming that sealing shackle isreceived and authentic). The user interface element may be hidden untilthe location of the delivery device corresponds to a sealing location.The sealing locations may be included in the route information. Table 1provides an example representation of sealing location informationincluding coordinates and seal permissions for the locations.

TABLE 1 Route Location Seal Permissions 1 40.645, −73.787 Seal 2 40,769,−73.882 Seal or Unseal 3 40,685, −71.180 Unseal

At this point in the method 700, the seal has secured the vehicle. Asthe vehicle moves along the route, at block 716, the delivery device maygenerate location information for the delivery device. Generating thelocation information may include receiving a GPS signal indicating thelocation of the delivery device.

At block 718, a determination is made as to whether the location of thedelivery device corresponds to a route destination location. Thecorrespondence may be based on a distance threshold. The distancethreshold may be applied equally for all destinations. In someimplementations, the sealing location information may include a distancethreshold for one or more entries. This allows locations in areas withinaccurate GPS coverage (e.g., urban areas) to have a higher thresholdthan the locations having more accurate GPS coverage.

If the determination at block 718 is negative, the method 700 returns toblock 716 as described above. If the determination at block 718 isaffirmative, at block 720, the delivery device may display an unsealinterface. The unseal interface may include a control element that, whenactivated, causes the delivery device to transmit an unseal message tothe seal.

At block 722, the delivery device may detect activation of the userinterface control element. The detection may include sensing via atouchscreen or other input device an interaction with the controlelement. At block 724, the delivery device may again connect with theseal. In some implementations, the delivery device and the seal may notmaintain constant communication to preserve resources. When connectingat block 724, the delivery device may use information from theconnection at block 708, such as a communication key, to expedite theconnecting at block 724.

Once connected, at block 728, the delivery device may transmit a sealrelease message to the seal. The seal release message may include a codeto provide an additional layer of security and authenticity to the sealrelease message. In this way, malicious devices cannot transmit a randomseal release message to disengage the seal. Rather, the seal mayinterrogate the seal release message for the code and, if present,release. Releasing the seal may include receiving a release confirmationmessage from the seal indicating the seal has been successfullyreleased.

At block 730, the coordinating device may determine if the route iscomplete. The completion of the route may include assessing the routeinformation received a block 704. If the destinations identified in theroute information have all been visited, the determination at block 730may be affirmative. When affirmative, the method 700 may end at block790. If the route is not complete (e.g., the route information includesat least one unvisited destination), the method 700 may return to block708 as described.

The method 700 may include additional features to enhance the securityof the electronic seal system. For example, the method 700 may includereceiving first authentication information for a user of the mobiledevice. The authentication information may include a user identifier, ausername, a password, an image of the delivery agent, or the like. Thefirst authentication information may be compared to secondauthentication information for an authorized user of the seal. Thesecond authentication information may be provided by the routing accessserver. In some implementations, the routing access server may performthe comparison and provide a result to the delivery device. The methodmay include determining that the first authentication informationcorresponds to the second authentication information. Connecting thedelivery device to the seal may be performed after determining that thefirst authentication information corresponds to the secondauthentication information.

In FIG. 7, the method 700 focused on the delivery device as thecoordinating device for the electronic seal system. In someimplementations, the seal may be the coordinating device.

FIG. 8 is a flow diagram depicting an example method of securing anelectronic seal via a seal. The method 800 may be implemented in wholeor in part by the devices described such as the sealing box 250. Themethod 800 illustrates how the sealing box 250 may detect location andcoordinate adjustment of the seal accordingly. At block 802, the method800 begins. At block 804, the sealing box may receive an authenticationvalue from a memory device affixed to a first end of a sealing shackle.The memory device may store the authentication value in non-volatilememory. The memory may be accessible upon coupling with a memory reader,such as the first memory reader 602 shown in FIG. 6.

At block 806, the sealing box may determine whether the authenticationvalue corresponds to a verification value. The verification value may bestored in memory included in the sealing box. In some implementations,the verification value may be stored in a secure, immutable memorylocation to further increase the chance of detecting a counterfeitshackle.

If the determination at block 806 is negative, the sealing box mayproceed to activate an error status indicator at block 810. Activatingan error status indicator may include adjusting an optical indicator(e.g., flashing a light, changing light color), playing an audiblesound, or providing other perceivable output indicating the authenticityfor the sealing shackle. In some implementations, the sealing box mayadditionally or alternatively log the error in its event log. The method800 may then return to block 804 as described.

If the determination at block 806 is affirmative, at block 812, thesealing box may store destination location information. The destinationinformation may include sealing locations such as those shown in Table 1above. The destination location information may be received from adelivery device. In some implementations, the destination locationinformation may be received while the sealing box is docked forrecharging such as from a routing access server.

At block 814, the sealing box may activate a motor to engage the firstend of the sealing shackle. The activation may resemble the sealingmechanism shown in FIG. 5A or 5B. At block 816, the sealing box maygenerate location information indicating the location of the sealingbox. Generating the location information may include receiving a GPSsignal indicating the location of the device.

At block 818, a determination is made as to whether the location of theseal corresponds to a route destination location. The correspondence maybe based on a distance threshold. The distance threshold may be appliedequally for all destinations. In some implementations, the sealinglocation information may include a distance threshold for one or moreentries. This allows locations in areas with inaccurate GPS coverage(e.g., urban areas) to have a higher threshold than the locations havingmore accurate GPS coverage.

If the determination at block 818 is negative, the method 800 returns toblock 816 as described above. If the determination at block 818 isaffirmative, at block 820, the sealing box may determine whether arelease has been requested. The determination may be based on detectingreceipt of an unseal message from a delivery device. If thedetermination at block 820 is affirmative, at block 822, the sealing boxmay activate the motor to disengage the first end of the sealingshackle. The activation at block 822 may cause the sealing mechanism ofthe sealing box to resemble the sealing mechanism shown in FIGS. 4A and4B. Once complete, the sealing box may transmit a release confirmationmessage to a delivery device connected with the sealing box.

At block 890, the method 800 ends. Returning to block 820, if thesealing box determines that release of the seal has not been requested,the method 800 may return to block 816 as described.

In some implementations, the method 700 or the method 800 or may includeperiodic signaling between the sealing box and the delivery device. Thesealing box may log these signaling events to further enhance theauditing of the seal. For example, if the sealing box transmits apresence request to the delivery device and does not receive a response,it may indicate that the cargo carrier was left unattended. Thisinformation can be important when assessing the state of the cargocarrier or the seal.

FIG. 9 illustrates an example embodiment of a seal with an affixedsealing shackle. The seals described in FIGS. 2 and 3 can be reused ondifferent vehicles. In FIG. 9, the seal 900 includes a first sealingshackle 910 and a second sealing shackle 930 which can be permanently orsemi-permanently affixed to a vehicle. A link line 914 of the firstsealing shackle 910 may pass through a ferrule 912. One end of the linkline 914 includes a first memory device 918 similar to the memorydevices shown in FIGS. 2 and 3. The other end of the link line 914, isleft barren. The link line 914 forms a loop 916 which can be affixed toa door or other structure of a vehicle. Similarly, a link line 934 ofthe second sealing shackle 930 may include a ferrule 932. One end of thelink line 934 includes a second memory device 938 similar to the memorydevices shown in FIGS. 2 and 3. The other end of the link line 934, isleft barren.

Like the seals shown in FIG. 2 or 3, the seal 900 includes a sealing box950. A housing 952 of the sealing box 950 includes a first receivingchannel 954 and a second receiving channel 956. The receiving channelseach accept a memory device. The sealing box 950 includes one statusindicator 960, but may include fewer or additional as needed. Thehousing 952 of sealing box 950 may include elements to perform one ormore of the features described such as in FIG. 6 or 8.

FIGS. 10A-10D are pictorial diagrams showing illustrative interfaces foran electronic seal system. The user interfaces may be presented on aclient communication device such as the delivery device 192 shown inFIG. 1.

FIG. 10A illustrates an example connection interface. As shown in FIG.10A, a list view of seals detected within the range of the communicationdevice are displayed. The list may be receive a selection of a seal toconnect with. In FIG. 10A, SEAL 333 is selected. The connectioninterface may include a button or other control to initiate theconnection process. As shown in FIG. 10A, the button labeled “CONNECT”is provided. Upon detecting activation of the connect button, thecommunication device may attempt to connect with the seal as described.In some implementations, it may be desirable to include a control totransmit a request for identification of a selected seal. For example,if multiple seals are present, the interface may receive a selection ofa seal and, upon activation of the identification control, cause theseal to emit a perceivable identification. One example of a perceivableidentification is adjustment of the status indicator(s) on theassociated seal thereby signaling the seal's identity.

FIG. 10B illustrates an example unsealed interface. Once connected, thecommunication device may receive status information for the seal. Thisinformation may be presented via a user interface such as that shown inFIG. 10B. The unsealed interface includes information indicating whichseal the user device is currently connected to. The unseal interfaceincludes information indicating the status of the seal. In FIG. 10B, theseal status is unsealed. The interface may include a button or othercontrol to disconnect with the seal. For example, if the communicationdevice inadvertently connects with the wrong seal, it may be desirableto release the connection. As shown in FIG. 10B, the button labeled“DISCONNECT” is provided. In some implementations, it may be desirableto include a user interface control to transmit a request foridentification of a selected seal as described above.

FIG. 10C illustrates an example sealed interface. Once the seal issealed, the communication device may be unable to unseal the seal. Forexample, if the location of the communication device or the seal doesnot correspond to an authorized destination, the sealed interface maynot include an option to request unsealing of the seal. The sealedinterface includes information indicating which seal the user device iscurrently connected to. The sealed interface includes informationindicating the status of the seal. In FIG. 10C, the seal status issealed.

It may be necessary to unseal the seal during transit such as in theevent of an emergency or unplanned detour. To account for such events,the sealed interface may include a button or other control to overridethe seal. The override button, when activated, may transmit a message toa support server. The support server may, in turn, collect additionalinformation from the delivery agent via the communication device. Oncethe support server confirms the authenticity of the request, the supportserver may transmit a message to the communication device authorizingunseal. The message may include a new entry for the sealing information(e.g., as shown in Table 1) including the current location of thecommunication device. In some implementations, the message may activatethe unseal function of the communication device.

FIG. 10D illustrates an example unseal interface. The unseal interfacemay be used to request transmission of a seal release message from thecommunication device to the seal. The unseal interface may include an“UNSEAL” button to cause transmission of the seal release message. Theunseal interface may include an “OVERRIDE” button in the event the sealrelease message fails to release the seal similar to the overridediscussed with reference to FIG. 10C.

FIG. 11 is a block diagram of an illustrative computing device that mayimplement one or more of the electronic seal features described. Thecomputing device 1100 may implement the methods, interfaces, ormessaging shown in of FIG. 7 or 10A-10D. The computing device 1100 canbe a server or other computing device, and can include a processing unit1102, a routing access processor 1130, a network interface 1104, acomputer readable medium drive 1106, an input/output device interface1108, and a memory 1110. The network interface 1104 can provideconnectivity to one or more networks or computing systems. Theprocessing unit 1102 can receive information and instructions from othercomputing systems or services via the network interface 1104. Thenetwork interface 1104 can also store data directly to memory 1110. Theprocessing unit 1102 can communicate to and from memory 1110 and outputinformation to an optional display 1118 via the input/output deviceinterface 1108. The input/output device interface 1108 can also acceptinput from the optional input device 1120, such as a keyboard, mouse,digital pen, microphone, mass storage device, etc.

The memory 1110 contains computer program instructions that theprocessing unit 1102 executes in order to implement one or moreembodiments. The memory 1110 may include RAM, ROM, and/or otherpersistent, non-transitory computer readable media. The memory 1110 canstore an operating system 1112 that provides computer programinstructions for use by the processing unit 1102 or other elementsincluded in the computing device in the general administration andoperation of the computing device 1100. The memory 1110 can furtherinclude computer program instructions and other information forimplementing aspects of the present disclosure.

For example, in one embodiment, the memory 1110 includes a routingaccess configuration 1114. The routing access configuration 1114 mayinclude the thresholds, authentication information (e.g., encryptionkeys, tokens, device identifiers etc.), route information, or otherpredetermined or configurable values described above. The routing accessconfiguration 1114 may store specific values for a given configuration.The routing access configuration 1114 may, in some implementations,store information for obtaining values for a given configurationelement. For example, a routing access server may be specified as anetwork location (e.g., uniform resource locator (URL) for the service)in conjunction with username and password information to access thenetwork location to obtain routing information. The routing accessconfiguration 1114 may be used by the routing access processor 1130 toimplement one or more of the aspects described herein. In someimplementations, the routing access processor 1130 may include specificcomputer executable instructions that cause the computing device 1100 toperform one or more of the electronic seal features described.

The memory 1110 may also include or communicate with one or moreauxiliary data stores, such as data store 1122. The data store 1122 mayelectronically store data regarding the item, the delivery agent, thedelivery device, the delivery location, vehicle control servers, accesscontrol configurations for locations or devices, do not disturb rules,and the like.

The elements included in the computing device 1100 may be coupled by abus 1190. The bus 1190 may be a data bus, communication bus, or otherbus mechanism to enable the various components of the computing device1100 to exchange information.

In some embodiments, the computing device 1100 may include additional orfewer components than are shown in FIG. 11. For example, a computingdevice 1100 may include more than one processing unit 1102 and computerreadable medium drive 1106. In another example, the computing device1100 may not be coupled to the display 1118 or the input device 1120. Insome embodiments, two or more computing devices 1100 may together form acomputer system for executing features of the present disclosure.

Depending on the embodiment, certain acts, events, or functions of anyof the processes or algorithms described herein can be performed in adifferent sequence, can be added, merged, or left out altogether (e.g.,not all described operations or events are necessary for the practice ofthe algorithm). Moreover, in certain embodiments, operations or eventscan be performed concurrently, e.g., through multi-threaded processing,interrupt processing, or multiple processors or processor cores or onother parallel architectures, rather than sequentially.

The various illustrative logical blocks, modules, routines, andalgorithm steps described in connection with the embodiments disclosedherein can be implemented as electronic hardware, or as a combination ofelectronic hardware and executable software. To clearly illustrate thisinterchangeability, various illustrative components, blocks, modules,and steps have been described above generally in terms of theirfunctionality. Whether such functionality is implemented as specializedhardware, or as specific software instructions executable by one or morehardware devices, depends upon the particular application and designconstraints imposed on the overall system. The described functionalitycan be implemented in varying ways for each particular application, butsuch implementation decisions should not be interpreted as causing adeparture from the scope of the disclosure.

Moreover, the various illustrative logical blocks and modules describedin connection with the embodiments disclosed herein can be implementedor performed by a machine, such as a digital signal processor (DSP), anapplication specific integrated circuit (ASIC), a field programmablegate array (FPGA) or other programmable logic device, discrete gate ortransistor logic, discrete hardware components, or any combinationthereof designed to perform the functions described herein. Anelectronic seal device (e.g. delivery device or sealing box) can be orinclude a microprocessor, but in the alternative, the accessestablishing device can be or include a controller, microcontroller, orstate machine, combinations of the same, or the like configured toauthenticate and authorize remote access for delivery of an item. Anaccess establishing device can include electrical circuitry configuredto process computer-executable instructions. Although described hereinprimarily with respect to digital technology, an access establishingdevice may also include primarily analog components. For example, someor all of the sealing algorithms or interfaces described herein may beimplemented in analog circuitry or mixed analog and digital circuitry. Acomputing environment can include a specialized computer system based ona microprocessor, a mainframe computer, a digital signal processor, aportable computing device, a device controller, or a computationalengine within an appliance, to name a few.

The elements of a method, process, routine, interface, or algorithmdescribed in connection with the embodiments disclosed herein can beembodied directly in specifically tailored hardware, in a specializedsoftware module executed by an electronic sealing device, or in acombination of the two. A software module can reside in random accessmemory (RAM) memory, flash memory, read only memory (ROM), erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), registers, hard disk, aremovable disk, a compact disc read-only memory (CD-ROM), or other formof a non-transitory computer-readable storage medium. An illustrativestorage medium can be coupled to the access establishing device suchthat the electronic sealing device can read information from, and writeinformation to, the storage medium. In the alternative, the storagemedium can be integral to the electronic sealing device. The electronicsealing device and the storage medium can reside in an applicationspecific integrated circuit (ASIC). The ASIC can reside in a deliverydevice or other electronic sealing device. In the alternative, theelectronic sealing device and the storage medium can reside as discretecomponents in a delivery device or electronic communication device. Insome implementations, the method may be a computer-implemented methodperformed under the control of a computing device, such as an accessdevice or electronic communication device, executing specificcomputer-executable instructions.

Conditional language used herein, such as, among others, “can,” “could,”“might,” “may,” “e.g.,” and the like, unless specifically statedotherwise, or otherwise understood within the context as used, isgenerally intended to convey that certain embodiments include, whileother embodiments do not include, certain features, elements and/orsteps. Thus, such conditional language is not generally intended toimply that features, elements and/or steps are in any way required forone or more embodiments or that one or more embodiments necessarilyinclude logic for deciding, with or without other input or prompting,whether these features, elements and/or steps are included or are to beperformed in any particular embodiment. The terms “comprising,”“including,” “having,” and the like are synonymous and are usedinclusively, in an open-ended fashion, and do not exclude additionalelements, features, acts, operations, and so forth. Also, the term “or”is used in its inclusive sense (and not in its exclusive sense) so thatwhen used, for example, to connect a list of elements, the term “or”means one, some, or all of the elements in the list.

Disjunctive language such as the phrase “at least one of X, Y, Z,”unless specifically stated otherwise, is otherwise understood with thecontext as used in general to present that an item, term, etc., may beeither X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z).Thus, such disjunctive language is not generally intended to, and shouldnot, imply that certain embodiments require at least one of X, at leastone of Y, or at least one of Z to each is present.

Unless otherwise explicitly stated, articles such as “a” or “an” shouldgenerally be interpreted to include one or more described items.Accordingly, phrases such as “a device configured to” are intended toinclude one or more recited devices. Such one or more recited devicescan also be collectively configured to carry out the stated recitations.For example, “a processor configured to carry out recitations A, B andC” can include a first processor configured to carry out recitation Aworking in conjunction with a second processor configured to carry outrecitations B and C.

As used herein, the terms “determine” or “determining” encompass a widevariety of actions. For example, “determining” may include calculating,computing, processing, deriving, looking up (e.g., looking up in atable, a database or another data structure), ascertaining and the like.Also, “determining” may include receiving (e.g., receiving information),accessing (e.g., accessing data in a memory) and the like. Also,“determining” may include resolving, selecting, choosing, establishing,and the like.

As used herein, the term “selectively” or “selective” may encompass awide variety of actions. For example, a “selective” process may includedetermining one option from multiple options. A “selective” process mayinclude one or more of: dynamically determined inputs, preconfiguredinputs, or user-initiated inputs for making the determination. In someimplementations, an n-input switch may be included to provide selectivefunctionality where n is the number of inputs used to make theselection.

As used herein, the terms “provide” or “providing” encompass a widevariety of actions. For example, “providing” may include storing a valuein a location for subsequent retrieval, transmitting a value directly tothe recipient, transmitting or storing a reference to a value, and thelike. “Providing” may also include encoding, decoding, encrypting,decrypting, validating, verifying, and the like.

As used herein, the term “message” encompasses a wide variety of formatsfor communicating (e.g., transmitting or receiving) information. Amessage may include a machine readable aggregation of information suchas an XML document, fixed field message, comma separated message, or thelike. A message may, in some implementations, include a signal utilizedto transmit one or more representations of the information. Whilerecited in the singular, it will be understood that a message may becomposed, transmitted, stored, received, etc. in multiple parts.

As used herein a “user interface” (also referred to as an interactiveuser interface, a graphical user interface, an interface, or a UI) mayrefer to a network based interface including data fields and/or othercontrols for receiving input signals or providing electronic informationand/or for providing information to the user in response to any receivedinput signals. A UI may be implemented in whole or in part usingtechnologies such as hyper-text mark-up language (HTML), ADOBE® FLASH®,JAVA®, MICROSOFT® .NET®, web services, and rich site summary (RSS). Insome implementations, a UI may be included in a stand-alone client (forexample, thick client, fat client) configured to communicate (e.g., sendor receive data) in accordance with one or more of the aspectsdescribed.

While the above detailed description has shown, described, and pointedout novel features as applied to various embodiments, it can beunderstood that various omissions, substitutions, and changes in theform and details of the devices or algorithms illustrated can be madewithout departing from the spirit of the disclosure. As can berecognized, certain embodiments described herein can be embodied withina form that does not provide all of the features and benefits set forthherein, as some features can be used or practiced separately fromothers. The scope of certain embodiments disclosed herein is indicatedby the appended claims rather than by the foregoing description. Allchanges that come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. An apparatus for securing a cargo carriercomprising: a sealing shackle comprising a first cable memory attachedto a first end of the cable and a second cable memory attached to asecond end of the sealing shackle; and a sealing box comprising: a firstcoupling channel adapted to receive the first end of the sealingshackle; a second coupling channel adapted to receive the second end ofthe sealing shackle; a sealing box data store; a processor; a locationtransceiver coupled with the processor; and a motor coupled with theprocessor, and wherein the processor is configured by specificinstructions stored in the sealing box data store to at least: receivean authentication value from the first cable memory passive received bythe first coupling channel; receive the authentication value from thesecond cable memory received by the second coupling channel; determinethat the authentication value corresponds to a shackle verificationvalue stored in the sealing box data store; store destination locationinformation in the sealing box data store; activate the motor to engagethe first end of the sealing shackle and the second end of the sealingshackle with the sealing box; receive location information from thelocation transceiver; determine that the location informationcorresponds to the destination location information; and activate themotor to disengage the first end of the sealing shackle and the secondend of the sealing shackle from the sealing box.
 2. The apparatus ofclaim 1, wherein the processor is further configured by specificinstructions to at least: detect engagement of the first end of thesealing shackle and the second end of the sealing shackle with thesealing box based at least in part on a state of the motor; store, inthe sealing box data store, first temporal information indicating a timeat which the engagement occurred; detect disengagement of at least oneof: (a) the first end of the sealing shackle, or (b) the second end ofthe sealing shackle from the sealing box based at least in part on thestate of the motor; and store, in the sealing box data store, secondtemporal information indicating at time at which the disengagementoccurred.
 3. The apparatus of claim 1, further comprising: an opticalindicator coupled with the processor, wherein the processor is furtherconfigured by specific instructions to at least: detect engagement ofthe first end of the sealing shackle and the second end of the sealingshackle with the sealing box based at least in part on a state of themotor; activate the optical indicator upon detecting the engagement;detect disengagement of at least one of: (a) the first end of thesealing shackle, or (b) the second end of the sealing shackle from thesealing box based at least in part on the state of the motor; anddeactivate the optical indicator in response to detecting thedisengagement.
 4. The apparatus of claim 1, further comprising apersonal area network transceiver coupled with the processor, thepersonal area network transceiver configured to communicate with amobile device via a personal area network, wherein the processor isfurther configured by specific instructions to at least: receive, fromthe mobile device via the personal area network, a seal control message,wherein the seal control message causes the motor to activate.
 5. Anapparatus comprising: a first coupling channel adapted to receive afirst end of a shackle; a sealing box data store; a processor; alocation detector coupled with the processor; a first seal shaft; and amotor coupled with the processor, wherein the motor adjusts a positionof the first seal shaft, wherein the processor is configured by specificinstructions stored in the sealing box data store to at least: receivean authentication value from a first memory device received by the firstcoupling channel, wherein the first memory device is attached to thefirst end of the shackle; determine that the authentication valuecorresponds to a verification value stored in the sealing box datastore; store destination location information in the sealing box datastore; activate the motor to engage the first end of the shackle withthe first seal shaft; receive location information from the locationdetector; determine that the location information corresponds to thedestination location information; and activate the motor to disengagethe first end of the shackle from the first seal shaft.
 6. The apparatusof claim 5, wherein the shackle includes a second end, and wherein thesecond end is integrally coupled to the sealing box.
 7. The apparatus ofclaim 5, further comprising: a second coupling channel adapted toreceive a second end of the shackle; and a second seal shaft, whereinthe motor adjusts a position of the second seal shaft, wherein theshackle includes a second memory device attached to a second end of theshackle, wherein the processor is in communication with the secondcoupling channel, and wherein the processor is further configured byspecific instructions to at least: receive the authentication value fromthe second memory device received by the second coupling channel;determine that the authentication value corresponds to the verificationvalue stored in the sealing box data store; and activate the motor toengage the second end of the shackle from the second seal shaft.
 8. Theapparatus of claim 5, wherein the apparatus comprises the shackle, andwherein the shackle further comprises a ferrule binding a second end ofthe shackle to a portion of the shackle between the second end and thefirst end.
 9. The apparatus of claim 5, wherein the processor is furtherconfigured by specific instructions to at least: detect engagement ofthe first end of the shackle with the first seal shaft based at least inpart on a state of the motor; store, in the sealing box data store,first temporal information indicating a first time at which theengagement occurred; detect disengagement of the first end of theshackle from the first seal shaft based at least in part on the state ofthe motor; and store, in the sealing box data store, second temporalinformation indicating a second time at which the disengagementoccurred.
 10. The apparatus of claim 5, further comprising: an opticalindicator coupled with the processor, wherein the processor is furtherconfigured by specific instructions to at least: detect engagement ofthe first end of the shackle with the seal shaft based at least in parton a state of the motor; activate the optical indicator in response todetecting the engagement; detect disengagement of the first end of theshackle from the seal shaft based at least in part on the state of themotor; and deactivate the optical indicator in response to detecting thedisengagement.
 11. The apparatus of claim 5, further comprising awireless transceiver coupled with the processor, the wirelesstransceiver configured to communicate with a mobile device, wherein theprocessor is further configured by specific instructions to at least:receive, from the mobile device, a seal control message, wherein theseal control message causes the motor to activate.
 12. The apparatus ofclaim 11, wherein the seal control message causes the motor to activateto engage the first end of the shackle with the first seal shaft,wherein processor is further configured by specific instructions to atleast: store, in the sealing box data store, an identifier for themobile device; receive, from the mobile device, a second seal controlmessage, wherein the second seal control message requests disengagementof the first end of the shackle from the first seal shaft, and whereinthe second seal control message includes a requesting device identifier,wherein the processor activates the motor in response to determiningthat the requesting device identifier corresponds to the identifier forthe mobile device.
 13. The apparatus of claim 5, further comprising arechargeable battery, and wherein the rechargeable battery providespower to at least the processor, the location detector, and the motor.14. The apparatus of claim 5, further comprising the shackle, whereinthe shackle includes a link line connected to the first memory device,wherein the link line is at least two feet long, and wherein the shackleis formed at least in part of steel coated with a water resistantsheath.
 15. A computer implemented method comprising: under control ofone or more processing devices: receiving an authentication value from afirst memory device affixed to a first end of a shackle received by afirst coupling channel of a sealing device; determining that theauthentication value corresponds to a verification value stored in adata store; storing destination location information in the data store;activating a motor of the sealing device to engage the first end of theshackle with the sealing device; receiving, from a location detector,location information of the sealing device; determining that thelocation information corresponds to the destination locationinformation; and activating the motor to disengage the first end of theshackle from the sealing device.
 16. The computer-implemented method ofclaim 15, further comprising: receiving the authentication value from asecond memory device attached to a second end of the shackle received bya second coupling channel of the sealing device; determining that theauthentication value corresponds to the verification value stored in thedata store; and activating the motor to engage the second end of theshackle with the sealing device.
 17. The computer-implemented method ofclaim 15, further comprising: detecting engagement of the first end ofthe shackle with the sealing device based at least in part on a state ofthe motor; storing, in the data store, first temporal informationindicating a first time at which the engagement occurred; detectingdisengagement of the first end of the shackle with the sealing devicebased at least in part on the state of the motor; and storing, in thedata store, second temporal information indicating a second time atwhich the disengagement occurred.
 18. The computer-implemented method ofclaim 15, further comprising: detecting engagement of the first end ofthe shackle with the sealing device based at least in part on a state ofthe motor; activating an optical indicator in response to detecting theengagement; detecting disengagement of the first end of the shackle withthe sealing device based at least in part on the state of the motor; anddeactivating the optical indicator in response to detecting thedisengagement.
 19. The computer-implemented method of claim 15, furthercomprising: wirelessly receiving, from a mobile device, a seal controlmessage, wherein the seal control message causes the motor to activate.20. The computer-implemented method of claim 19, wherein the sealcontrol message causes the motor to activate to engage the first end ofthe shackle with the sealing device, wherein computer-implemented methodfurther comprises: storing, in the data store, an identifier for themobile device; wirelessly receiving, from the mobile device, a secondseal control message, wherein the second seal control message requestsdisengagement of the first end of the shackle from the sealing device,and wherein the second seal control message includes a requesting deviceidentifier; and wherein the motor is activated to disengage the firstend of the shackle from the sealing device in response to determiningthat the requesting device identifier corresponds to the identifier forthe mobile device.